﻿#region Librerias

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ESF.General.Network.ConfigSettings;
using System.Configuration;
using System.Net;
using ESF.General.Network;
using ESF.WinForms;

#endregion


namespace ESF.ConnectionTester
{
	public partial class frmMain : Form
	{
		#region Constructor
		
		public frmMain()
		{
			InitializeComponent();

			lblVersion.Text = "Versión: " + Application.ProductVersion;
		}

		#endregion


		#region Eventos

		private void btnStart_Click(object sender, EventArgs e)
		{
			string result;


			txtResultados.Text = "Realizando el diagnóstico, por favor espere...";
			
			Cursor.Current = Cursors.WaitCursor;

			btnIniciarDiagnostico.Enabled = false;


			if (ConnectionTesterHelper.TestAppConfigurationSections (out result))
			{
				stslblStatus.Text = "Las pruebas de conexión fueron exitosas!";

				WinFormsHelper.ShowOK (this, stslblStatus.Text);
			}
			else
			{
				stslblStatus.Text = "Las pruebas de conexión fueron erradas!, revise el diagnóstico";

				WinFormsHelper.ShowOK (this, stslblStatus.Text);
			}

			
			txtResultados.Text = result;

			btnIniciarDiagnostico.Enabled = true;

			Cursor.Current = Cursors.Arrow;

			btnCopyResults.Enabled = true;
		}


		private void frmMain_Load(object sender, EventArgs e)
		{
			if (!System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable ())
			{
				btnIniciarDiagnostico.Enabled = false;

				WinFormsHelper.ShowError (this, "No hay tarjetas de red disponibles, conecte una e intente de nuevo");

				Close ();
			}

			btnCopyResults.Enabled = false;

			btnIniciarDiagnostico.Focus ();
		}


		private void btnCopyResults_Click(object sender, EventArgs e)
		{
			Clipboard.SetText (txtResultados.Text);

			WinFormsHelper.ShowOK (this, "El resultado del diagnóstico esta copiado puede pegarlo en cualquier editor de texto para enviarlo a su administrador de red o area de soporte técnico");
		}

		#endregion
	}
}
